package SIC.Modele;

import java.util.ArrayList;
import java.util.List;

import SIC.Modele.DataBDD.CompositionORM;
import SIC.Modele.DataBDD.ProduitORM;


/**
 * Classe qui représente une composition
 */
public class Composition {
	
	/**
	 * L'identifiant unique du produit
	 */
	protected String produitID;
	
	/**
	 * La liste des composant du produit
	 */
	protected List<Produit> listeProduits;
	
	//--------------------------------------------
	//				CONSTRUCTEUR
	//--------------------------------------------
	
	public Composition()
	{
		listeProduits = new ArrayList<Produit>();
	}
	
	public Composition(CompositionORM compositionORM)
	{
		this.produitID = compositionORM.getProduitID();
		listeProduits = new ArrayList<Produit>();
			
		for(ProduitORM produitORM : compositionORM.getProduits())
			listeProduits.add(new Produit(produitORM));	
	}
	
	public Composition(String produitID)
	{
		this.produitID = produitID;
		listeProduits = new ArrayList<Produit>();
	}
	
	public Composition(String produitID, List<Produit> produits)
	{
		this.produitID = produitID;
		this.listeProduits = produits;
	}
	
	//--------------------------------------------
	//				POUR L'AFFICHAGE
	//--------------------------------------------
	
	@Override
	public String toString(){
		
		String res = produitID + " ==>> ";
		
		for(Produit p : listeProduits) res += "(" + p.toString() + ") + ";
		
		res = res.substring(0, res.length()-2);
		
		return  res;
	}
	
	//--------------------------------------------
	//			   ADD/GETTER/SETTER
	//--------------------------------------------
	
	public void addComposant(Produit produit){
		listeProduits.add(produit);
	}
	
	public String getProduitID() {
		return produitID;
	}
	
	public void setProduitID(String produitID) {
		this.produitID = produitID;
	}

	public List<Produit> getProduits() {
		return listeProduits;
	}

	public void setProduits(List<Produit> produits) {
		this.listeProduits = produits;
	}
	
	
}
